package com.lemurian.bankdata.services;

import java.util.List;

import javax.persistence.Transient;

import com.lemurian.bankdata.bean.base.BaseServiceInterface;
import com.lemurian.bankdata.dto.UserDTO;
import com.lemurian.bankdata.lite.struts.PartialList;
import com.lemurian.entity.Menu;
import com.lemurian.entity.User;

public interface UserService extends BaseServiceInterface<User> {

	public boolean validateUserSession(User user, String sessionId);
	
	public User authenticate(String loginId, String password);
	
	public boolean saveSessionId(User user, String sessionId);
	
	public void failCount(String loginId);
	
	public <T extends User> List<Menu> getListMenu(T user);
	
	public User resetFailCount(User user);
	
	public List<User> getUserByUserType(int userType);
	
	@Transient
	public PartialList<UserDTO> listUser(int start, int count, String ascDesc, String orderBy, String name, String email);
}
